{#- ๐ Today's mantra โ the card, the trance page and the mantra page all include this, so the three can never disagree about whether today's file may be played. `m` = mantra.today(). -#} {% set why_text = { 'off': 'The voice is off (no sidecar address).', 'no_voice': 'Choose a voice first โ by listening.', 'no_mantra': 'There is no mantra in the Handler\'s library to say.', 'stale': 'Rendered before today\'s mantra changed โ not today\'s words, so not offered.', 'failed': 'Tonight\'s render failed.', 'pending': 'Not rendered yet today.', } %} {% if m.mantra %}
{{ m.mantra.text }}
{% endif %} {% for slot in ['wake', 'bed'] %}{% set s = m.slots[slot] %}{{ 'โ๏ธ wake' if slot == 'wake' else '๐ bed' }} {{ s.at }} {% if s.track %} โถ play it ยท {{ s.track.seconds|dur }} {% else %} {{ why_text.get(s.why, s.why) }}{% if s.why == 'failed' and s.error %} {{ s.error }}{% endif %} {% endif %}
{% endfor %} {% if m.rendering %}Rendering nowโฆ
{% endif %} {% if m.mantra %} {% endif %}